package so.sao.shop.supplier.service.authorized;

import so.sao.shop.supplier.pojo.Result;
import so.sao.shop.supplier.pojo.input.authorized.RoleInput;
import so.sao.shop.supplier.pojo.output.authorized.RoleOut;

import java.util.List;

/**
 * @author tengfei.zhang
 * @Title: RoleService
 * 角色权限业务接口
 * @create 2017-10-25 8:55
 **/
public interface RoleService {
    /**
     * 插入角色
     * @param roleInput 角色信息
     */
    Result<?> save(RoleInput roleInput);

    /**
     * 更新角色
     * @param roleInput 角色信息
     */
    Result<?> update(RoleInput roleInput);

    /**
     * 根据id删除角色
     * @param id 角色id
     */
    Result<?> deleteById(Long id);

    /**
     * 查询全部角色信息
     */
    Result<?> searchRoles(RoleInput roleInput);

    /**
     * 查询全部角色
     * @param loginUserId
     * @return
     */
    public List<RoleOut> searchAllRole(Long loginUserId);

    /**
     * 根据角色id查询权限id列表
     * @param roleId 角色id
     * @return 角色详情
     */
    Result<?> findById(Long roleId);
}
